home *** CD-ROM | disk | FTP | other *** search
- VERSION 5.00
- Object = "{5A65A9C0-089F-11D2-88AD-0000B45C4CF6}#1.2#0"; "EASYX.OCX"
- Begin VB.Form Form1
- Caption = "Form1"
- ClientHeight = 3300
- ClientLeft = 60
- ClientTop = 345
- ClientWidth = 4980
- Icon = "Form1.frx":0000
- LinkTopic = "Form1"
- ScaleHeight = 3300
- ScaleWidth = 4980
- StartUpPosition = 3 'Windows Default
- Begin PROJECTEXLibCtl.EasyX EasyX
- Left = 1200
- OleObjectBlob = "Form1.frx":014A
- Top = 600
- End
- Attribute VB_Name = "Form1"
- Attribute VB_GlobalNameSpace = False
- Attribute VB_Creatable = False
- Attribute VB_PredeclaredId = True
- Attribute VB_Exposed = False
- Option Explicit
- Dim SpriteArray(7) As Long
- Dim SurfaceOne As Long
- 'Spritearray constants
- Const SpriteRight As Long = 1
- Const SpriteLeft As Long = 0
- Const SpriteUp As Long = 5
- Const SpriteDown As Long = 4
- Const SpriteUpRight As Long = 6
- Const SpriteDownRight As Long = 7
- Const SpriteDownLeft As Long = 2
- Const SpriteUpLeft As Long = 3
- Const SpriteWidth As Long = 50
- Const SpriteHeight As Long = 50
- Const MovePrLoop As Long = 1
- Dim XDirection As Long
- Dim YDirection As Long
- Private Sub Form_Load()
- Dim rt As Long
- t forget this
- EasyX.Window = Me.hWnd
- ''''''''''''''''''''''
- 'Initialize direct draw
- rt = EasyX.InitDirectDraw(320, 200, 8)
- If rt <> EX_OK Then
- EasyX.EndDirectX
- MsgBox "Direct draw could not be initialized", vbOKOnly, "Failure"
- Exit Sub
- End If
- 'initialize Direct input
- rt = EasyX.InitDirectInput
- If rt <> EX_OK Then
- EasyX.EndDirectX
- MsgBox "Direct input could not be initialized", vbOKOnly, "Failure"
- Exit Sub
- End If
- 'Create the keyboard
- EasyX.CreateKeyboard
- 'Acquire the keyboard
- EasyX.AcquireKeyboard
- 'setup the the graphics
- SetGraphics
- RunMain
- End Sub
- Private Sub SetGraphics()
- Dim rt As Long
- Dim AppPath As String
- Dim I As Long, J As Long
- AppPath = App.Path & "\"
- XDirection = 1
- YDirection = 1
- 'load the graphics
- SurfaceOne = EasyX.LoadBitmapFile(AppPath & "arrows.bmp", 0)
- If SurfaceOne <> 0 Then
- MsgBox "Could not load images", vbOKOnly, "Failure"
- EasyX.EndDirectX
- Exit Sub
- End If
- 'Define the sprites of the newly created surface
- For I = 1 To 2
- For J = 1 To 4
- SpriteArray(((I - 1) * 3) + J - 1) = _
- EasyX.MakeSprite( _
- (J - 1) * SpriteWidth, _
- (I - 1) * SpriteHeight, _
- J * SpriteWidth, _
- I * SpriteHeight, SurfaceOne)
- Next J
- Next I
- End Sub
- Private Sub RunMain()
- Static PointX As Long
- Static PointY As Long
- Dim Left As Long, Right As Long
- Dim Up As Long, Down As Long
- Static SpriteFrame As Long
-
- If EasyX.GetKeyState(EX_ESCAPE) = EX_KEYDOWN Then
- EasyX.EndDirectX
- Unload Me
- Exit Do
-
- End If
-
- 'Check the left & right keys
- Left = EasyX.GetKeyState(EX_LEFT)
- Right = EasyX.GetKeyState(EX_RIGHT)
- If Left = EX_KEYDOWN Then
-
- PointX = PointX - MovePrLoop
- SpriteFrame = SpriteLeft
- End If
- If Right = EX_KEYDOWN Then
-
- PointX = PointX + MovePrLoop
- SpriteFrame = SpriteRight
- End If
- 'Check up and down arrow keys
- Up = EasyX.GetKeyState(EX_UP)
- Down = EasyX.GetKeyState(EX_DOWN)
- If Up = EX_KEYDOWN Then
-
- PointY = PointY - MovePrLoop
- SpriteFrame = SpriteDown
-
- End If
- If Down = EX_KEYDOWN Then
-
- PointY = PointY + MovePrLoop
- SpriteFrame = SpriteUp
-
- End If
- 'Check for diagonal
- If Down And Left = EX_KEYDOWN Then
- SpriteFrame = SpriteDownLeft
- ElseIf Down And Right = EX_KEYDOWN Then
- SpriteFrame = SpriteDownRight
- ElseIf Up And Left = EX_KEYDOWN Then
- SpriteFrame = SpriteUpLeft
- ElseIf Up And Right = EX_KEYDOWN Then
- SpriteFrame = SpriteUpRight
- End If
- EasyX.FillSurface 0, EX_PRIMARYSURFACE
- EasyX.DrawSprite PointX, PointY, SpriteWidth, SpriteHeight, SpriteFrame
- EasyX.FlipSurface
- DoEvents
- End Sub
-